// 后台脚本用于处理扩展的事件和消息

// 当安装或更新扩展时触发
chrome.runtime.onInstalled.addListener(function(details) {
  console.log('扩展已安装或更新', details.reason);
  
  // 如果是首次安装，可以执行一些初始化操作
  if (details.reason === 'install') {
    console.log('这是首次安装扩展');
  } else if (details.reason === 'update') {
    console.log('扩展已更新到最新版本');
  }
});

// 监听来自内容脚本或弹出窗口的消息
chrome.runtime.onMessage.addListener(
  function(message, sender, sendResponse) {
    console.log('后台脚本收到消息:', message);
    console.log('发送者:', sender);
    
    try {
      // 根据消息类型处理不同的操作
      if (message.action === "contentScriptMessage") {
        console.log('收到来自内容脚本的消息:', message.data);
        sendResponse({status: '已收到', success: true});
      } 
      // 可以根据需要添加更多的消息处理逻辑
      else {
        sendResponse({status: '未知消息类型', success: false});
      }
    } catch (error) {
      console.error('处理消息时出错:', error);
      sendResponse({status: '处理消息时出错', success: false, error: error.message});
    }
    
    return true; // 保持消息通道开放，以支持异步响应
  }
);

// 监听标签页更新事件，确保内容脚本在页面加载时正确运行
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
  // 当页面完成加载时
  if (changeInfo.status === 'complete') {
    console.log('标签页已完成加载:', tab.url);
  }
}); 